package entities.hero;

import entities.spells.GolferAttack;
import entities.spells.GolferQ;
import entities.spells.Spell;

public class Golfer extends Hero
{
	private String img;
	
	private Spell attack;
	private Spell mainSpell;
	private Spell ulti;		
	
	private Spell wSpell;	
	private Spell eSpell;	
	
	private int life;					// Leben
	private float damage;				// Schaden
	private float speed; 				// Spielergeschwindigkeit
	
	private boolean stunned;			// Gestunned, ja / nein	
	private boolean silenced;			// Gesilenced ja / nein
	
	public Golfer() {
		this.img = "img/hero/golfer/golfer.pack";
		this.mainSpell = new GolferQ();
		this.attack = new GolferAttack();
		this.wSpell = null;
		this.eSpell = null;
		
		this.life = 300;
		this.damage = 30;
		this.speed = 60 * 2;
		
		this.stunned = false;
		this.silenced = false;
	}

	@Override
	public String getImg() {
		return img;
	}

	@Override
	public float getSpeed() {
		return speed;
	}

	@Override
	public int getLife() {
		return life;
	}
	
	@Override
	public int getMaxLife() {
		return 300;
	}

	@Override
	public float getDamage() {
		return damage;
	}
	
	@Override
	public Spell getAttack() {
		return attack;
	}
	
	@Override
	public Spell getMainSpell() {
		return mainSpell;
	}
	
	@Override
	public Spell getWSpell() {
		return wSpell;
	}
	
	@Override
	public Spell getESpell() {
		return eSpell;
	}
	
	@Override
	public void setESpell(Spell spell) {
		this.eSpell = spell;
	}

	@Override
	public void setWSpell(Spell spell) {
		this.wSpell = spell;
	}
	
	@Override
	public Spell getUlti() {
		return ulti;
	}

	@Override
	public void setLife(int life) {
		this.life = life;
	}

	@Override
	public void setSpeed(float speed) {
		this.speed = speed;
	}

	@Override
	public boolean getStunned() {
		return stunned;
	}

	@Override
	public void setStunned(boolean state) {
		this.stunned = state;
	}
	
	@Override
	public boolean getSilenced() {
		return silenced;
	}

	@Override
	public void setSilenced(boolean silenced) {
		this.silenced = silenced;
	}
}
